home *** CD-ROM | disk | FTP | other *** search
/ IRIX Base Documentation 2001 May / SGI IRIX Base Documentation 2001 May.iso / usr / share / catman / p_man / catD / rmfree.z / rmfree
Encoding:
Text File  |  1998-10-30  |  5.6 KB  |  131 lines

  1.  
  2.  
  3.  
  4. rrrrmmmmffffrrrreeeeeeee((((DDDD3333))))                                                          rrrrmmmmffffrrrreeeeeeee((((DDDD3333))))
  5.  
  6.  
  7.  
  8. NNNNAAAAMMMMEEEE
  9.      _rrrr_mmmm_ffff_rrrr_eeee_eeee - free space into a private space management map
  10.  
  11. SSSSYYYYNNNNOOOOPPPPSSSSIIIISSSS
  12.      _####_iiii_nnnn_cccc_llll_uuuu_dddd_eeee _<<<<_ssss_yyyy_ssss_////_tttt_yyyy_pppp_eeee_ssss_...._hhhh_>>>>
  13.      _####_iiii_nnnn_cccc_llll_uuuu_dddd_eeee _<<<<_ssss_yyyy_ssss_////_mmmm_aaaa_pppp_...._hhhh_>>>>
  14.      _####_iiii_nnnn_cccc_llll_uuuu_dddd_eeee _<<<<_ssss_yyyy_ssss_////_dddd_dddd_iiii_...._hhhh_>>>>
  15.      _vvvv_oooo_iiii_dddd _rrrr_mmmm_ffff_rrrr_eeee_eeee_((((_ssss_tttt_rrrr_uuuu_cccc_tttt _mmmm_aaaa_pppp _****_m_p_,,,, _ssss_iiii_zzzz_eeee______tttt _s_i_z_e_,,,, _uuuu_llll_oooo_nnnn_gggg______tttt _i_n_d_e_x_))))_;;;;
  16.  
  17.    AAAArrrrgggguuuummmmeeeennnnttttssss
  18.      _m_p        Pointer to the map.
  19.  
  20.      _s_i_z_e      Number of units to free into the map.
  21.  
  22.      _i_n_d_e_x     Index of the first unit of the space being freed.
  23.  
  24. DDDDEEEESSSSCCCCRRRRIIIIPPPPTTTTIIIIOOOONNNN
  25.      _rrrr_mmmm_ffff_rrrr_eeee_eeee releases space into the private space management map pointed to by
  26.      _m_p and wakes up any processes that are waiting for space.
  27.  
  28.    RRRReeeettttuuuurrrrnnnn VVVVaaaalllluuuueeeessss
  29.      None
  30.  
  31. UUUUSSSSAAAAGGGGEEEE
  32.      _rrrr_mmmm_ffff_rrrr_eeee_eeee should be called to return space that had been allocated by a
  33.      previous call to _rrrr_mmmm_aaaa_llll_llll_oooo_cccc(D3), in which case _i_n_d_e_x is the value returned
  34.      from the corresponding call to _rrrr_mmmm_aaaa_llll_llll_oooo_cccc. _rrrr_mmmm_ffff_rrrr_eeee_eeee should also be called to
  35.      add space to a newly allocated map prior to the first call to _rrrr_mmmm_aaaa_llll_llll_oooo_cccc, in
  36.      which case _i_n_d_e_x specifies the base of the space being added.
  37.  
  38.      Both _s_i_z_e and _i_n_d_e_x are in arbitrary units.  The driver using the map
  39.      places whatever semantics on the units are appropriate for the type of
  40.      space being managed.  For example, units may be byte addresses, pages of
  41.      memory, or blocks on a device.
  42.  
  43.      If the space being returned is adjacent to other space in the map, _rrrr_mmmm_ffff_rrrr_eeee_eeee
  44.      will coalesce the adjacent fragments.
  45.  
  46.      If the _rrrr_mmmm_ffff_rrrr_eeee_eeee call causes the number of fragments in the map to exceed
  47.      the number of map entries specified by _rrrr_mmmm_iiii_nnnn_iiii_tttt(D3) (for singlethreaded
  48.      drivers) or _rrrr_mmmm_aaaa_llll_llll_oooo_cccc_mmmm_aaaa_pppp(D3) (for multithreaded drivers) the following
  49.      warning message is displayed on the console:
  50.      _WWWW_AAAA_RRRR_NNNN_IIII_NNNN_GGGG_:::: _rrrr_mmmm_ffff_rrrr_eeee_eeee _mmmm_aaaa_pppp _oooo_vvvv_eeee_rrrr_ffff_llll_oooo_wwww _m_p _llll_oooo_ssss_tttt _s_i_z_e _iiii_tttt_eeee_mmmm_ssss _aaaa_tttt _i_n_d_e_x
  51.      This implies that the driver should specify a larger number of map
  52.      entries when initializing the map.
  53.  
  54.    LLLLeeeevvvveeeellll
  55.      Base or Interrupt.
  56.  
  57.  
  58.  
  59.  
  60.                                                                         PPPPaaaaggggeeee 1111
  61.  
  62.  
  63.  
  64.  
  65.  
  66.  
  67. rrrrmmmmffffrrrreeeeeeee((((DDDD3333))))                                                          rrrrmmmmffffrrrreeeeeeee((((DDDD3333))))
  68.  
  69.  
  70.  
  71.    SSSSyyyynnnncccchhhhrrrroooonnnniiiizzzzaaaattttiiiioooonnnn CCCCoooonnnnssssttttrrrraaaaiiiinnnnttttssss
  72.      Does not sleep.
  73.  
  74.      Driver-defined basic locks, read/write locks, and sleep locks may be held
  75.      across calls to this function.
  76.  
  77.    EEEExxxxaaaammmmpppplllleeeessss
  78.      See _rrrr_mmmm_aaaa_llll_llll_oooo_cccc(D3) for an example of _rrrr_mmmm_ffff_rrrr_eeee_eeee.
  79.  
  80. RRRREEEEFFFFEEEERRRREEEENNNNCCCCEEEESSSS
  81.      _rrrr_mmmm_aaaa_llll_llll_oooo_cccc(D3), _rrrr_mmmm_aaaa_llll_llll_oooo_cccc______wwww_aaaa_iiii_tttt(D3), _rrrr_mmmm_aaaa_llll_llll_oooo_cccc_mmmm_aaaa_pppp(D3), _rrrr_mmmm_ffff_rrrr_eeee_eeee_mmmm_aaaa_pppp(D3), _rrrr_mmmm_iiii_nnnn_iiii_tttt(D3),
  82.      _rrrr_mmmm_ssss_eeee_tttt_wwww_aaaa_nnnn_tttt(D3)
  83.  
  84.  
  85.  
  86.  
  87.  
  88.  
  89.  
  90.  
  91.  
  92.  
  93.  
  94.  
  95.  
  96.  
  97.  
  98.  
  99.  
  100.  
  101.  
  102.  
  103.  
  104.  
  105.  
  106.  
  107.  
  108.  
  109.  
  110.  
  111.  
  112.  
  113.  
  114.  
  115.  
  116.  
  117.  
  118.  
  119.  
  120.  
  121.  
  122.  
  123.  
  124.  
  125.  
  126.                                                                         PPPPaaaaggggeeee 2222
  127.  
  128.  
  129.  
  130.